package main

import (
	"Code4Learn/fileop"
	"bufio"
	"flag"
	"fmt"
	"os"
)

func main() {
	//fileop.FileOpRead() // 调用fileop包中的FileOp函数
	//fileop.FileOpBufio()
	//fileop.FileOpReadAll()
	//fileop.FileOpWrite()

	_, err := fileop.FileOpCopy("dst.txt", "test.txt")
	if err != nil {
		fmt.Println("copy file failed, err:", err)
		return
	}
	fmt.Println("copy done!")

	flag.Parse() // 解析命令行参数
	if flag.NArg() == 0 {
		// 如果没有参数默认从标准输入读取内容
		fileop.Cat(bufio.NewReader(os.Stdin))
	}

	// 依次读取每个指定文件的内容并打印到终端
	for i := 0; i < flag.NArg(); i++ {
		f, err := os.Open(flag.Arg(i))
		if err != nil {
			fmt.Fprintf(os.Stdout, "reading from %s failed, err:%v\n", flag.Arg(i), err)
			continue
		}
		fileop.Cat(bufio.NewReader(f))
	}
}
